package exception

// Error 错误类型
type Error struct {
	Code    int
	Message string
}

// Error 返回错误信息
func (e *Error) Error() string {
	return e.Message
}

// ErrCode 返回错误码
func (e *Error) ErrCode() int {
	return e.Code
}

// NewError new a error
func NewError(code int, message string) *Error {
	return &Error{
		Code:    code,
		Message: message,
	}
}

// Message generate a general message error
func Message(message string) *Error {
	return &Error{
		Code:    SystemErrorCode,
		Message: message,
	}
}
